home *** CD-ROM | disk | FTP | other *** search
- <?php
- /* $Id: defines.lib.php,v 1.46 2003/07/09 08:57:20 nijel Exp $ */
- // vim: expandtab sw=4 ts=4 sts=4:
-
- /**
- * DEFINES VARIABLES & CONSTANTS
- * Overview:
- * PMA_MYSQL_INT_VERSION (int) - eg: 32339 instead of 3.23.39
- * PMA_USR_OS (string) - the plateform (os) of the user
- * PMA_USR_BROWSER_AGENT (string) - the browser of the user
- * PMA_USR_BROWSER_VER (double) - the version of this browser
- */
-
- // MySQL Version
- if (!defined('PMA_MYSQL_INT_VERSION') && isset($userlink)) {
- if (!empty($server)) {
- $result = PMA_mysql_query('SELECT VERSION() AS version');
- if ($result != FALSE && @mysql_num_rows($result) > 0) {
- $row = PMA_mysql_fetch_array($result);
- $match = explode('.', $row['version']);
- } else {
- $result = @PMA_mysql_query('SHOW VARIABLES LIKE \'version\'');
- if ($result != FALSE && @mysql_num_rows($result) > 0){
- $row = PMA_mysql_fetch_row($result);
- $match = explode('.', $row[1]);
- }
- }
- } // end server id is defined case
-
- if (!isset($match) || !isset($match[0])) {
- $match[0] = 3;
- }
- if (!isset($match[1])) {
- $match[1] = 21;
- }
- if (!isset($match[2])) {
- $match[2] = 0;
- }
-
- if(!isset($row)) {
- $row['version'] = '3.21.0';
- }
-
- define('PMA_MYSQL_INT_VERSION', (int)sprintf('%d%02d%02d', $match[0], $match[1], intval($match[2])));
- define('PMA_MYSQL_STR_VERSION', $row['version']);
- unset($match);
- }
-
-
- // Determines platform (OS), browser and version of the user
- // Based on a phpBuilder article:
- // see http://www.phpbuilder.net/columns/tim20000821.php
- if (!defined('PMA_USR_OS')) {
- // loic1 - 2001/25/11: use the new globals arrays defined with
- // php 4.1+
- if (!empty($_SERVER['HTTP_USER_AGENT'])) {
- $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
- } else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) {
- $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
- } else if (!isset($HTTP_USER_AGENT)) {
- $HTTP_USER_AGENT = '';
- }
-
- // 1. Platform
- if (strstr($HTTP_USER_AGENT, 'Win')) {
- define('PMA_USR_OS', 'Win');
- } else if (strstr($HTTP_USER_AGENT, 'Mac')) {
- define('PMA_USR_OS', 'Mac');
- } else if (strstr($HTTP_USER_AGENT, 'Linux')) {
- define('PMA_USR_OS', 'Linux');
- } else if (strstr($HTTP_USER_AGENT, 'Unix')) {
- define('PMA_USR_OS', 'Unix');
- } else if (strstr($HTTP_USER_AGENT, 'OS/2')) {
- define('PMA_USR_OS', 'OS/2');
- } else {
- define('PMA_USR_OS', 'Other');
- }
-
- // 2. browser and version
- // (must check everything else before Mozilla)
-
- if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
- define('PMA_USR_BROWSER_VER', $log_version[2]);
- define('PMA_USR_BROWSER_AGENT', 'OPERA');
- } else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
- define('PMA_USR_BROWSER_VER', $log_version[1]);
- define('PMA_USR_BROWSER_AGENT', 'IE');
- } else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
- define('PMA_USR_BROWSER_VER', $log_version[1]);
- define('PMA_USR_BROWSER_AGENT', 'OMNIWEB');
- //} else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
- // Konqueror 2.2.2 says Konqueror/2.2.2
- // Konqueror 3.0.3 says Konqueror/3
- } else if (ereg('(Konqueror/)(.*)(;)', $HTTP_USER_AGENT, $log_version)) {
- define('PMA_USR_BROWSER_VER', $log_version[2]);
- define('PMA_USR_BROWSER_AGENT', 'KONQUEROR');
- } else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)
- && ereg('Safari/([0-9]*)', $HTTP_USER_AGENT, $log_version2)) {
- define('PMA_USR_BROWSER_VER', $log_version[1] . '.' . $log_version2[1]);
- define('PMA_USR_BROWSER_AGENT', 'SAFARI');
- } else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
- define('PMA_USR_BROWSER_VER', $log_version[1]);
- define('PMA_USR_BROWSER_AGENT', 'MOZILLA');
- } else {
- define('PMA_USR_BROWSER_VER', 0);
- define('PMA_USR_BROWSER_AGENT', 'OTHER');
- }
- } // $__PMA_DEFINES_LIB__
- ?>
-